package com.cly.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.cly.base.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serial;

/**
 * 岗位表
 *
 * @author by 春风能解释
 * <p>
 * 2024-06-05
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@NoArgsConstructor
@Schema(name = "岗位表", description = "岗位表")
public class Post extends BaseEntity {

    /**
     * 序列化ID
     */
    @Serial
    private static final long serialVersionUID = -3310214915734919113L;
    /**
     * 岗位名称
     */
    @Schema(description = "岗位名称")
    private String name;
    /**
     * HR
     */
    @Schema(description = "HR")
    private Long userId;
    /**
     * 岗位职责
     */
    @Schema(description = "岗位职责")
    private String duty;
    /**
     * 岗位要求
     */
    @Schema(description = "岗位要求")
    private String requirement;
    /**
     * 岗位分类ID
     */
    @Schema(description = "岗位分类ID")
    private Long postCategoryId;
    /**
     * 工作地点
     */
    @Schema(description = "工作地点")
    private String address;
    /**
     * 最少工作时间
     */
    @Schema(description = "最少工作时间")
    private Long minWork;
    /**
     * 最长工作时间
     */
    @Schema(description = "最长工作时间")
    private Long maxWork;
    /**
     * 学历要求(0不限,1大专及以上,2本科及以上,3研究生及以上)
     */
    @Schema(description = "学历要求(0不限,1大专及以上,2本科及以上,3研究生及以上)")
    private Integer education;
    /**
     * 最低底薪
     */
    @Schema(description = "最低底薪")
    private Integer minSalary;
    /**
     * 最高底薪
     */
    @Schema(description = "最高底薪")
    private Integer maxSalary;
    /**
     * 面向群体(0社会招聘,1校园招聘)
     */
    @Schema(description = "面向群体(0社会招聘,1校园招聘)")
    @TableField("`group`")
    private Integer group;
    /**
     * 岗位类型(0全职,1兼职,2实习)
     */
    @Schema(description = "岗位类型(0全职,1兼职,2实习)")
    private Integer type;
    /**
     * 状态(0未开始,1进行中,2已结束)
     */
    @Schema(description = "状态(0未开始,1进行中,2已结束)")
    private Integer status;
}
